/**
 * @description sequelize 实例
 * @author captern
 */

const Sequelize = require('sequelize')
const { MYSQL_CONF } = require('../config/db')
const { isProd, isTest } = require('../utils/env')

const { host, user, password, database } = MYSQL_CONF

// 线下连接的方式
const config = {
  host: host,
  dialect: 'mysql'
}

if(isTest){
  config.logging = () => {}  // 测试的时候 不打印sql 语句，防止干扰
}

// 连接池的配置 (不推荐线下使用)
if(isProd){
  config.pool = {
    max: 5, // 连接池中最大的连接数
    min: 0, // 最大的连接数
    idle: 10000 // 如果一个 连接池（线程）10 秒内未使用，就释放
  }
}


const seq = new Sequelize(database, user, password, config)



module.exports = seq
